home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / pagelog_cgi.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  93 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10591);
  10.  script_bugtraq_id(1864);
  11.  script_version ("$Revision: 1.12 $");
  12.  script_cve_id("CAN-2000-0940");
  13.  name["english"] = "pagelog.cgi";
  14.  name["francais"] = "pagelog.cgi";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "The 'pagelog.cgi' cgi is installed. This CGI has
  18. a well known security flaw that lets an attacker create arbitrary
  19. files on the remote server, ending in .txt, and reading arbitrary
  20. files ending in .txt or .log
  21.  
  22. *** Warning : this flaw was not tested by Nessus. Check the existence
  23. of /tmp/nessus_pagelog_cgi.txt on this host to find out if you
  24. are vulnerable or not.
  25.  
  26. Solution : remove it from /cgi-bin.
  27. Risk factor : High";
  28.  
  29.  
  30.  desc["francais"] = "Le cgi 'pagelog.cgi' est installΘ. Celui-ci possΦde
  31. un problΦme de sΘcuritΘ bien connu qui permet α n'importe qui de lire
  32. des fichiers arbitraires sur le serveur finissant par .txt ou .log,
  33. ou bien de crΘer des fichiers arbitraires en .txt
  34.  
  35. *** Warning : this flaw was not tested by Nessus. Check the existence
  36. of /tmp/nessus_pagelog_cgi.txt on this host to find out if you
  37. are vulnerable or not.
  38.  
  39. Solution : retirez-le de /cgi-bin.
  40. Facteur de risque : SΘrieux";
  41.  
  42.  
  43.  script_description(english:desc["english"], francais:desc["francais"]);
  44.  
  45.  summary["english"] = "Checks for the presence of /cgi-bin/pagelog.cgi";
  46.  summary["francais"] = "VΘrifie la prΘsence de /cgi-bin/pagelog.cgi";
  47.  
  48.  script_summary(english:summary["english"], francais:summary["francais"]);
  49.  
  50.  script_category(ACT_GATHER_INFO);
  51.  
  52.  
  53.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  54.         francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  55.  family["english"] = "CGI abuses";
  56.  family["francais"] = "Abus de CGI";
  57.  script_family(english:family["english"], francais:family["francais"]);
  58.  script_dependencie("find_service.nes", "no404.nasl");
  59.  script_require_ports("Services/www", 80);
  60.  exit(0);
  61. }
  62.  
  63. #
  64. # The script code starts here
  65. #
  66. include("http_func.inc");
  67. include("http_keepalive.inc");
  68.  
  69. port = get_http_port(default:80);
  70.  
  71. if(!get_port_state(port))exit(0);
  72.  
  73. flag = 0;
  74.  
  75. foreach dir (cgi_dirs())
  76. {
  77.  if(is_cgi_installed_ka(item:string(dir, "/pagelog.cgi"), port:port))
  78.  {
  79.   flag = 1;
  80.   directory = dir;
  81.   break;
  82.  }
  83. }
  84.  
  85. if(flag)
  86. {
  87.   req = http_get(item:string(directory,
  88.   "/pagelog.cgi?name=../../../../../../tmp/nessus_pagelog_cgi"),
  89.            port:port);
  90.   buf = http_keepalive_send_recv(port:port, data:req);
  91.   security_warning(port);
  92. }
  93.